#define _CRT_SECURE_NO_WARNINGS

//#include <iostream>
//using namespace std;
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
//	int arr[] = { 1,2,3,5,6,7,8,9,0 };
//	int x = 0;
//	int len = sizeof(arr) / sizeof(int);
//	cout << len;
//	for (int i = 0; i < len; i++)
//	{
//		x ^= arr[i];
//	}
//	cout << endl;
//	for (int i = 0; i <= 9; i++)
//	{
//		x ^= i;
//	}
//	cout << x;
//	return 0;
//}
//
//int Fib(int n)
//{
//	if (n == 1 || n == 2) return 1;
//	if (n > 2)
//		return Fib(n - 1) + Fib(n - 2);
//}
//
//int main()
//{
//	cout << Fib(10);
//	int n;
//	cin >> n;
//	int* a = (int*)malloc(sizeof(int) * n);
//	return 0;
//}

#include <stdio.h>

int mul(int n)
{
    int sum = 1;
    for (int i = 1; i <= n; i++)
    {
        sum *= i;
    }
    return sum;
}

//int main()
//{
//    int n;
//    while (scanf("%d", &n) == 1)
//    {
//        double res = 1.0;
//        for (int i = 1; i <= n; i++)
//        {
//            res = res + 1/mul(i);
//        }
//        printf("%.6lf\n", res);
//    }
//
//    return 0;
//}
#include <stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	int arr[101] = { 0 };
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	int brr[101] = { 0 };
	int flag = 0;
	int begin = 0;
	for (int i = 0; i < n; i++)
	{
		flag = 0;
		for (int j = 0; j < i ; j++)
		{
			if (arr[i] == arr[j])
				flag = 1;
		}
		if (flag == 0)
			brr[begin++] = arr[i];
	}

	for (int i = 0; i < begin-1; i++)
	{
		for (int j = 0; j < begin - 1 - i; j++)
		{
			if (brr[j] > brr[j + 1])
			{
				int tem = brr[j];
				brr[j] = brr[j + 1];
				brr[j + 1] = tem;
			}
		}
	}
	for (int i = 0; i < begin; i++)
	{
		if (i != begin - 1)
			printf("%d ", brr[i]);
		else
			printf("%d ", brr[i]);
	}

	return 0;
}